﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _001基础类学习
{
    class Person
    {
        private string _name;//名字 
        private string _sex;//性别
        private int _age;//年龄
        private int _weight;//体重
    
        /*被属性替代
        public void SetName(string name)
        {
            //安全检查
            if (name != "中国")
                _name = name;
        }
        //获取数据
        public string GetName()
        {
            return _name;
        }
        */

        //属性
        public string Name
        {
            get { return _name; }
            set
            {
                //安全检查
                if (value != "中国")
                    _name = value;
            }
        }
        //性别属性
        public string Sex
        {
            get { return _sex; }
            set
            {
                //安全检查
                if (value == "男" || value == "女")
                    _sex = value;
                else
                {
                    Console.WriteLine("设置数据不合法!");
                }
            }
        }
        //年龄属性
        public int Age
        {
            get { return _age; }
            set
            {
                if (value > 0 && value < 120)
                    _age = value;
                else
                    Console.WriteLine("数据错误!");
            }
        }
        //体重属性
        public int Weight
        {
            get { return _weight; }
            set
            {
                if (value > 0 && value < 150)
                    _weight = value;
                else
                    Console.WriteLine("数据错误!");
            }
        }
        //打招呼
        public void SayHello(string name)
        {
            Console.WriteLine("{0}对{1}说:你好！",_name,name);
        }
        //吃饭
        //操作类中的私有字段
        public void Eat(string food)
        {
            //Console.WriteLine("{0}每天都吃{1}!",_name,food);
            Console.WriteLine($"{_name}今天吃了很多{food}");
            _weight += 5;
            Console.WriteLine("当前体重是:{0}", _weight);
        }

        //减肥-操作类中的属性
        public void Slim()
        {
            Console.WriteLine($"{Name}天天不吃饭，只喝水，减肥都不要命了...");
            Weight -= 10;//属性操作字段
            Console.WriteLine("当前体重是:{0}",Weight);
        }


    }
}
